package com.meituan.sdk.model.tuangouNg.atomgoods.brandChainPoiBind;

import com.meituan.sdk.annotations.ApiMeta;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 上传总部门店关系
* This file was automatically generated.
*/
@ApiMeta(
    path = "/tuangou/ng/atomgoods/brand/chain/poi/bind",
    businessId = 1,
    apiVersion = "10025",
    apiName = "brand_chain_poi_bind",
    needAuth = true
)
public class BrandChainPoiBindRequest implements MeituanRequest<BrandChainPoiBindResponse> {
    /**
    * <p data-diff-id="ct-diff-id-10d223cc-7ff5-4a93-bfad-108bbfe8e004">总部id</p>
    */
    @NotBlank(message = "vendorChainId不能为空")
    @SerializedName("vendorChainId")
    private String vendorChainId;
    /**
    * <p data-diff-id="ct-diff-id-df9bae8c-67c0-43f9-ae58-d6ca49477d7d">门店id</p>
    */
    @NotBlank(message = "vendorShopId不能为空")
    @SerializedName("vendorShopId")
    private String vendorShopId;
    /**
    * <p data-diff-id="ct-diff-id-9a2022fd-2303-4081-9224-4d1047357133">绑定关系，1-绑定，2-解绑</p>
    */
    @NotNull(message = "bindStatus不能为空")
    @SerializedName("bindStatus")
    private Integer bindStatus;

    public String getVendorChainId() {
        return vendorChainId;
    }
    public void setVendorChainId(String vendorChainId) {
        this.vendorChainId = vendorChainId;
    }
    public String getVendorShopId() {
        return vendorShopId;
    }
    public void setVendorShopId(String vendorShopId) {
        this.vendorShopId = vendorShopId;
    }
    public Integer getBindStatus() {
        return bindStatus;
    }
    public void setBindStatus(Integer bindStatus) {
        this.bindStatus = bindStatus;
    }


    @Override
    public MeituanResponse<BrandChainPoiBindResponse> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<BrandChainPoiBindResponse>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "BrandChainPoiBindRequest{" + "vendorChainId=" + vendorChainId + "," + "vendorShopId=" + vendorShopId + "," + "bindStatus=" + bindStatus + "}";
    }
}
